package br.com.dlm.simuladoitil.fragments;

import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;

import br.com.dlm.simuladoitil.R;
import br.com.dlm.simuladoitil.basicas.Categoria;
import br.com.dlm.simuladoitil.basicas.Questao;
import br.com.dlm.simuladoitil.util.ListaQuestoesAdapter;

public class ListaQuestoesFragment extends Fragment {

    public static final String PARAMETRO_CATEGORIA = "PARAMETRO_CATEGORIA";

    public static ListaQuestoesFragment newInstance(Categoria categoria){
        Bundle parametros =  new Bundle();

        parametros.putSerializable(PARAMETRO_CATEGORIA, categoria);

        ListaQuestoesFragment listaQuestoesFragment = new ListaQuestoesFragment();
        listaQuestoesFragment.setArguments(parametros);

        return listaQuestoesFragment;
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        final Categoria categoria = (Categoria) getArguments().getSerializable(PARAMETRO_CATEGORIA);

        View view = inflater.inflate(R.layout.fragment_questoes, container, false);

        ListView listViewQuestoes = (ListView) view.findViewById(R.id.listViewQuestoes);

        listViewQuestoes.setAdapter(new ListaQuestoesAdapter(categoria.questoes));

        listViewQuestoes.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Questao questao = categoria.questoes.get(position);

                if (getActivity() instanceof OnClickQuestaoListener) {
                    OnClickQuestaoListener listener = (OnClickQuestaoListener) getActivity();
                    listener.clickQuestao(questao, position + 1);
                }
            }
        });

        return view;
    }

    public interface OnClickQuestaoListener {
        void clickQuestao(Questao questao);
        void clickQuestao(Questao questao, int numeroQuestao);
    }
}
